home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / programr / dpmigcc5.zip / RSX / DOC / FAQ.TXT < prev    next >
Text File  |  1994-12-12  |  8KB  |  233 lines

  1. --------------------------------------------------------------------------------
  2. FAQ.TXT         DPMI-RSX  (c) Rainer Schnitker            Dec 1994
  3. --------------------------------------------------------------------------------
  4.  
  5.  
  6.     (1) _memaccess() problems
  7.     (2) Copyright message
  8.     (3) read-only files with TeX386
  9.     (3) TeX386 stack faults
  10.     (5) Memory problems (DYN:  out of memory)
  11.     (6) INFO.EXE bugs with RSX
  12.     (7) Running RSX in a Windows NT DOS-BOX
  13.     (8) EMXL.EXE
  14.     (9) File-Handles
  15.        (10) RSX packages
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26. --------------------------------------------------------------------------------
  27.  
  28. (1) _memaccess() problems
  29.  
  30. > ... problems with POV
  31. > However, it doesn't do so well under OS/2. ...
  32. > .. when I run display, the gnu graphics viewer, under OS/2)
  33.  
  34. > I am trying to compile a simple DOS program that runs in an OS/2 VDM and
  35. > all it does is int 10h to go into 320x200x256 mode
  36.  
  37. First, don't forget to use the -am option (enable memaccess). This
  38. is necessary for all emx programs.
  39.  
  40. RSX returns a linear address from memaccess(). This address and the base
  41. address of the selector are in the range from A0000L to C0000L for example.
  42. But sbrk() can change the base address of the emx program (this happens
  43. in OS/2). The old memaccess() return value invalid now.
  44.  
  45. Now, RSX5 preallocates some heap (128 KB). If your program need more
  46. memory use the option -Rm.
  47.  
  48.     Example:    -Rm512        Preallocate 512 KB Heap
  49.  
  50. Also RSX5 has a new interrupt handler for INT10 Vesa calls.
  51.  
  52.  
  53. -------------------------------------------------------------------------------
  54.  
  55. (2) Copyright message
  56.  
  57. > When I run the OS/2 EMX compiled Gnu grep V1.6, for example, in an
  58. > OS/2 DOS box, I get the RSX copyright message.
  59.  
  60. > Is there a hidden option ("quiet") that controls this behavior?
  61. > Something I can put in RSXOPT?
  62.  
  63.  
  64. The rsx-test for a bound EXE-file uses the header from EMX 0.8g.
  65. Older stubs don't verbose the RSX-message.
  66.  
  67. Try 'emxbind -u \emx\bin\emxl.exe myprog.exe' with a stub >= 0.8g.
  68. This should work.
  69.  
  70.  
  71.  
  72. -------------------------------------------------------------------------------
  73.  
  74.  
  75. (3) read-only files with TeX386
  76.  
  77. > .. Mattes' tex386 under Windows3.1.
  78. > But the file are read-only!
  79.  
  80. Get RSX version >= 2a. This versions fixes TeX386 umask bug.
  81.  
  82.  
  83.  
  84. -------------------------------------------------------------------------------
  85.  
  86. (4) TeX386 stack faults
  87.  
  88. > .. there is a stack fault with TeX386 and RSX. EMX is ok.
  89.  
  90. RSX controls the stack with a expand-down stack segment.
  91. TeX386 was compiled with the gcc option '-fomit-frame-pointer'. This option
  92. can cause a stack fault, if gcc uses the frame pointer for a normal pointer.
  93.  
  94. There are two options for RSX:
  95.     * -Ra    (set ss=ds, no expand-down)
  96.     * -Rs#   (set stack size. If stack size <= 60, the fault does not happen)
  97.  
  98. You can use emxbind to put the first option in the tex386 file (emxrt 0.9).
  99.     Example:
  100.         emxbind -a \emtex\tex386.exe -Ra
  101.  
  102.  
  103. -------------------------------------------------------------------------------
  104.  
  105. (5) Memory problems
  106.  
  107. > What does the TeX386 message
  108. >    DYN:  out of memory
  109. > mean?
  110.  
  111. This is a TeX message. You must have more memory.
  112.  
  113. > Is 3.7 MB RAM insufficient for rsx and rsxwin?  If so, why?  If it
  114. > should be enough, then what can the cause of the `out of memory'
  115. > statement be?
  116. > Does rsx use virtual memory?    If so, how much does it need?  If not,
  117. > can you please explain why VM is of no use?
  118.  
  119. If you run TeX386 you need 3-4 MB virtuel memory (yes, RSX use vm).
  120. This memory block could not be fragmented. Perhaps you should restart
  121. Windows.
  122. If you run the DPMIINFO program, you will get the greatest possible
  123. memory block in the first and second line.
  124.  
  125.  
  126. A *permanent* swapfile is recommend. Only this swapfile expand your
  127. physical memory to bigger virtuel memory. Also 32-bit access enables
  128. more virtuel memory.
  129.  
  130. More information is availble in install.txt in chapter "Get mode DPMI memory".
  131.  
  132.  
  133. -------------------------------------------------------------------------------
  134.  
  135. (6) INFO.EXE bugs with RSX
  136.  
  137. > kennst Du einen Weg wie man das Helpsystem des emx/gcc unter DOS lesen
  138. > bzw. verwenden kann?
  139. > Gibt es einen patch der diese Files unter windows/ dos zug"anglich
  140. > macht?
  141.  
  142. > I can't run info.exe with rsx. There are problems with the cursor keys.
  143.  
  144. RSX 2-3 has a read_kbd() bug. RSX4 is ok.
  145.  
  146. -------------------------------------------------------------------------------
  147.  
  148. (7) Running RSX in a Windows NT DOS-BOX
  149.  
  150. > Kann ich den DOS-Extender dazu "uberreden, unter Windows NT zu laufen?
  151.  
  152. > Does RSX3a run with Windows NT?
  153.  
  154. Use 'RSX -e prog' option, or set RSXOPT=-e, if you have no coprocessor.
  155.  
  156. > .. EmTeX tex386 beta 11 l"auft mit RSXOPT=-e unter Windows NT
  157.  
  158.  
  159. -------------------------------------------------------------------------------
  160.  
  161. (8) EMXL.EXE
  162.  
  163. > I have a simple question. How do I make fork() work with emx-0.8h ? When
  164. > I compile the program fork.c given in the sample subdirectory and try to
  165. > run it, it dies with an error message that fork is not supported under
  166. > msdos. I even compiled fork.c with fork.s but still no luck. I have set
  167. > emx to point to rsx.exe in my setup file.
  168.  
  169. I think you are running emx.exe.
  170. try:  "rsx fork.exe"
  171.  or: You must also set RSX=<path>\rsx.exe
  172.  
  173. The emx0.8h emxl stub first tests for a DPMI host.
  174.  
  175. If it found *only* DPMI, it searches for rsx.exe in the current directory,
  176. in the environment RSX or in the PATH.
  177.  
  178. If it found other extended memory standards, it searches for emx.exe
  179. in the current directory, in the environment EMX or in the PATH.
  180. ( Qemm386, 386Max support VCPI and DPMI, so emxl try this)
  181.  
  182. You should set the environment EMX and RSX to c:\rsx\bin\rsx.exe, if
  183. you plan to run programs with fork(), because EMX don't support this.
  184.  
  185.  
  186. -------------------------------------------------------------------------------
  187.  
  188. (9) File-Handles
  189.  
  190. > In Deinem DOS-Extender ist eine aergerliche Begrenzung in Form
  191. > von maximal 20 File-Handles enthalten.
  192. > Laesst sich dies ohne weiteres umgehen, oder ist die Sache
  193. > 'fest'-verdrahtet ?
  194. > Ansonsten ist der Extender genau das Bindeglied, was ich
  195. > lange gesucht hatte (OS/2 - emx0.8h/RSX - DOS) :-)
  196.  
  197. Bei RSX3a kann man einfach int86() benutzen, um die Handles raufzusetzen
  198. (DOS Funktion: set handles limit, ah=0x67). Hier kann die Anzahl beliebig sein.
  199. Die C-Lib kann aber nur einen Process mit 40 Handles verwalten.
  200.  
  201. Bei RSX4 wird jeder Process bis zu 40 Handles benutzen koennen.
  202. Es gibt dann einen Option wie bei EMX ( -hXX ).
  203.  
  204.  
  205.  
  206. > How many file handles can I use with RSX3a ?
  207.  
  208. The default value is 20. You can increase this value with int86() AX=0x67.
  209. RSX and the EMX C Library can handle 40 files per process.
  210.  
  211. RSX4 has the option "-hxxxx", where xxxx are the number of handles.
  212.  
  213. -------------------------------------------------------------------------------
  214.  
  215. (10) RSX packages
  216.  
  217. > Do you know of a way to use gcc to create native windows 3.1 apps?
  218. > I need Objective-C for Windows, but there is no such thing available
  219. > right now except djgpp.
  220.  
  221.  
  222. I wrote 3 packages (ftp.uni-bielefeld.de):
  223.    - RSX5, to run EMX and DJGPP programs with DPMI
  224.    - RSXWIN, to run text-mode EMX programs in Windows 3.1 window.
  225.    - RSXWDK (RSX Window Development Kit) to build full 32bit window apps.
  226.      The next version 2 will also support DJGPP.
  227.  
  228.  
  229. EMX+GCC contains Objective-C. With RSX or RSXWIN you can run this under
  230. Windows in a DOS-BOX or in a window.
  231. With RSXWDK you can build full 32bit window apps.
  232.  
  233.